热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

尺寸|估计值_MOT综述(2021)

篇首语:本文由编程笔记#小编为大家整理,主要介绍了MOT综述(2021)相关的知识,希望对你有一定的参考价值。@TOC1.简介

篇首语:本文由编程笔记#小编为大家整理,主要介绍了MOT综述 (2021)相关的知识,希望对你有一定的参考价值。


@TOC


1. 简介
  • 参考论文《Analysis Based on Recent Deep Learning Approaches Applied in Real-Time Multi-Object Tracking: A Review》
  • JDE:Joint Detection and Embedding (一阶段:一个端到端的网络同时输出检测结果和对应检测Box的外观特征向量)
  • SDE:Separate Detection and Embedding (两阶段:先检测Box, 然后再计算检测Box对应的外观特征向量)
  • MOT方法分类:
    • 在线方法(Online Method):只使用当前和过去的信息
    • 批处理方法(Batch Method):使用未来的信息

1.1 轨迹与检测Box的关联特征


  • 运动特征(motion)
  • 外观特征(appearance)
  • 位置特征(location)

1.1 MOT挑战


  • 人体姿势、摄像机视角、照明、遮挡、分辨率、背景杂乱和其他意外场景的复杂变化频繁发生
  • 人员拥挤并快速移动 (crowded scenes and fast motion, 如长跑)

1.2 轻量级网络


  • SqueezeNet:通过使用 1×1 卷积层“挤压”特征图通道来实现更高的运行速度
  • MobileNet: 通过使用低成本的深度卷积层和逐点卷积层替换高资源消耗的卷积层来减少运行时间
  • ShuffleNet:通过减少element-wise算子和平衡输入输出通道,在推理过程中降低了MAC(Memory Access Cost),进一步提高了网络运行速度

2. 方法汇总及分类


3. FairMOT
  • FairMOT:使用外观特征可以执行长距离的关联,而且可以处理遮挡情况

3.1 One-shot跟踪器中的不公平性问题


3.1.1 Anchors导致的不公平


  • 基于anchor的设计不适合学习re-ID特征,尽管检测结果很好,但会导致大量的ID切换,其原因如下:
    • re-ID任务得不到公平的学习:导致re-ID特征质量不高
    • 一个Anchor对应多个目标:提取的特征在准确性和有区别地表示目标对象方面不是最优的
    • 多个Anchors包含同一个目标:一个具体的目标取哪一个Anchor很难准确判断

3.1.2 特征导致的不公平


  • 大部分特征在对象检测和re-ID任务间共享,但不同任务需要不同层次的特征
    • 对象检测:需要深层抽象特征估计对象的类别和位置
    • re-ID任务:需要浅层外观特征,以区分相同类别的不同实例
  • 从多任务损失函数优化的角度看,对象检测与re-ID的优化目标是冲突的,所以必须有对应的策略来平衡这个优化

3.1.3 特征维度导致的不公平


  • 以前的re-ID,为了在benchmarks上获得好的效果,经常学习高维的特征向量
  • 对于one-shot MOT,学习低维特征更好的理由:
    • 高维 re-ID 特征显着损害目标检测精度:由于两个任务的竞争,从而对最终跟踪精度产生负面影响 (对象检测的特征维度很低:类别号+box位置),所以需要学习低维re-ID特征以平衡这两个任务
    • MOT任务不同于re-ID任务:MOT任务在相邻两帧间执行1到1匹配,而re-ID任务需要查询大量的候选项,因此需要更高维的特征
    • 学习低维特征可以提高推理速度

3.2 FairMOT网络组成


  • FairMOT主要由以下三部分组成:
    • 主干网络
    • 对象检测分支
    • re-ID分支

3.2.1 主干网络(Backbone Network)


  • 为取得最佳的准确度和速度,主干网络使用ResNet-34,把深层聚合(DLA:Deep Layer Aggregation)应用到主敢网络以融合多层特征。不同于原始的DLA,在低级与高级特征间有更多skip链接,类似于特征金字塔(FPN:Feature Pyramid Network)

3.2.2 检测分支(Detection Branch)


  • 检测分支构建于CenterNet之上,三个并行的heads附加在DLA-34上,用于分别估计:
    • heatmaps
    • object center offsets
    • bounding box sizes
  • 每个head把具有256个channels的3x3卷积应用于DLA-34输出的特征图上,然后由一个1x1的卷积层输出最后的结果

3.2.2.1 热图头(Heatmap Head )


  • 此热图头负责估计对象中心的位置

  • 如果热图中某个位置的响应与真实对象中心重合,则该位置的响应预计为 1

  • 响应随着热图位置和对象中心之间的距离呈指数衰减

  • 对于图像中的真实Box的位置:






    b


    i



    =


    (



    x


    1


    i



    ,



    y


    1


    i



    ,



    x


    2


    i



    ,



    y


    2


    i



    )



    b^i = (x_1^i, y_1^i, x_2^i, y_2^i)


    bi=(x1i,y1i,x2i,y2i)

  • 则对象的中心为:





    (



    c


    x


    i



    ,



    c


    y


    i



    )


    =


    (





    x


    1


    i



    +



    x


    2


    i




    2



    ,





    y


    1


    i



    +



    y


    2


    i




    2



    )



    (c_x^i, c_y^i) = (\\fracx_1^i + x_2^i2, \\fracy_1^i + y_2^i2 )


    (cxi,cyi)=(2x1i+x2i,2y1i+y2i)

  • 对象中心在特征图中的坐标为:





    (




    c


    ~



    x


    i



    ,




    c


    ~



    y


    i



    )


    =


    (







    c


    x


    i



    4






    ,







    c


    y


    i



    4






    )



    (\\widetilde c_x^i, \\widetilde c_y^i) = (\\lfloor \\fracc_x^i4 \\rfloor, \\lfloor \\fracc_y^i4 \\rfloor)


    (c


    xi,c


    yi)=(4cxi,4cyi)

  • 热图在位置




    (


    x


    ,


    y


    )



    (x,y)


    (x,y)
    处的响应为:






    M



    x


    y




    =







    i


    =


    1



    N



    e


    x



    p








    (


    x







    c


    ~



    x


    i




    )


    2



    +


    (


    y







    c


    ~



    y


    i




    )


    2





    2



    σ


    c


    2








    M_xy = \\sum_i=1^N exp^-\\frac(x - \\widetilde c_x^i)^2 + (y - \\widetilde c_y^i)^22 \\sigma_c^2


    Mxy=i=1Nexp2σc2(xc


    xi)2+(yc


    yi)2


    • N:表示图像中对象的个数






    • σ


      c




      \\sigma_c


      σc
      :表示标准偏差
  • 热图的损失函数:定义为具有焦点损失(focal loss)的像素级逻辑回归






    L



    h


    e


    a


    t




    =






    1


    N








    x


    y













    (


    1







    M


    ^




    x


    y





    )


    α



    l


    o


    g


    (




    M


    ^




    x


    y




    )


    ,








    if 




    M



    x


    y




    =


    1



     










    (


    1






    M



    x


    y





    )


    β



    (




    M


    ^




    x


    y





    )


    α



    l


    o


    g


    (


    1







    M


    ^




    x


    y




    )


    ,







    otherwise








    (


    1


    )



    L_heat = - \\frac1N \\sum_xy \\begincases (1 - \\hat M_xy)^\\alpha log (\\hat M_xy), & \\textif $M_xy=1$ \\\\ (1 - M_xy)^\\beta(\\hat M_xy)^\\alpha log (1- \\hat M_xy), & \\textotherwise \\endcases \\quad (1)


    Lheat=N1xy(1M^xy)αlog(M^xy),(1Mxy)β(M^xy)αlog(1M^xy),if Mxy=otherwise(1)








    • M


      ^




      \\hat M


      M^
      :是估计的热图





    • M



      M


      M
      :是真实的热图





    • α


      ,


      β



      \\alpha, \\beta


      α,β
      :是focal loss中预定义的参数

3.2.2.2 检测框偏移量头(Box Offset Head)


  • 检测框偏移量头:使目标的定位更加准确
  • 由于最终特征图的步幅为四,因此将引入多达四个像素的量化误差。 该分支估计每个像素相对于对象中心的连续偏移,以减轻下采样的影响。
  • 检测框偏移量头输出的估计值:
推荐阅读
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • IB 物理真题解析:比潜热、理想气体的应用
    本文是对2017年IB物理试卷paper 2中一道涉及比潜热、理想气体和功率的大题进行解析。题目涉及液氧蒸发成氧气的过程,讲解了液氧和氧气分子的结构以及蒸发后分子之间的作用力变化。同时,文章也给出了解题技巧,建议根据得分点的数量来合理分配答题时间。最后,文章提供了答案解析,标注了每个得分点的位置。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 怀疑是每次都在新建文件,具体代码如下 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
author-avatar
sunsijia
业精于勤荒于嬉
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有